-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Composite Arrays #122
Composite Arrays #122
Conversation
@@ -14,7 +14,11 @@ impl EncodingCompression for CompositeEncoding { | |||
array: &dyn Array, | |||
_config: &CompressConfig, | |||
) -> Option<&dyn EncodingCompression> { | |||
(array.encoding().id() == &Self::ID).then_some(self) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, maybe we could flatten in this compressor instead of doing it in compress.rs
@@ -53,6 +61,7 @@ impl FlattenFn for CompositeArray { | |||
|
|||
impl ScalarAtFn for CompositeArray { | |||
fn scalar_at(&self, index: usize) -> VortexResult<Scalar> { | |||
// TODO(ngates): this seems wrong... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I think scalars make it obvious that every dtype should have a canonical physical representation. Albeit where some dtype parameters are pluggable, e.g. int width?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this gets us to a reasonable place. I wonder how often outside of time types will we use it.
Exploring an idea around composite arrays. Essentially this,
impl ArrayCompute for TypedCompositeArray<LocalDateTimeMetadata>